package top.yjp.jtf.plugin;

import com.intellij.lang.ASTNode;
import com.intellij.lang.PsiBuilder;
import com.intellij.lang.PsiParser;
import com.intellij.psi.tree.IElementType;
import org.jetbrains.annotations.NotNull;

/**
 * Excel语言的解析器
 * 这是一个简单的实现，主要用于支持语法高亮
 */
public class ExcelParser implements PsiParser {
    @NotNull
    @Override
    public ASTNode parse(@NotNull IElementType root, @NotNull PsiBuilder builder) {
        // 创建一个标记
        PsiBuilder.Marker marker = builder.mark();
        
        // 消费所有的token
        while (!builder.eof()) {
            builder.advanceLexer();
        }
        
        // 完成标记
        marker.done(root);
        
        return builder.getTreeBuilt();
    }
}